<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <ul>
            <li id="a1">aa</li>
            <li id="a2">aa</li>
            <li id="a3">aa</li>
        </ul>

        <script type="text/javascript">
            //闭包：函数可以使用函数之外定义的变量
            //目的：循环获得li，添加onclick事件函数，点击时提示index
            //错误示例：由于i最终变为4，onclick函数中在利用闭包调用变量i时，会一直为4
            //因为在脚本载入时，并没有在onclick中保存i的每次循环的值，只有在调用时才会捕获i的值
            for (var i=1;i<= 3;i++){
                var li = document.getElementById("a" + i);
                li.onclick = function(){
                    alert(i); 
                }
            }
            //正确示例:
            for (var i=1;i<= 3;i++){
                var li = document.getElementById("a" + i);
                li.i = i;
                li.onclick = function(){
                    alert(this.i);
                }
            }
        </script>
    </body>
</html>
